package easybooking.db;

import java.sql.*;

// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.FB5FD68C-86DC-7D25-03F7-290AAD8AE5E7]
// </editor-fold> 
public class DBConnection {

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.6440F80D-EBE7-8455-2BFC-4596B7794EF5]
    // </editor-fold> 
    private static Connection con = null;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.4E748B54-619E-7944-19C1-A50CD12BE9B7]
    // </editor-fold> 
    private static String url = "jdbc:mysql://mars.iuk.hdm-stuttgart.de/u-ms289?user=ms289&password=Ei2jai8wah&Unicode=true&characterEncoding=UTF8";

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.EF1421BF-0E2C-A22D-AF04-29CEE1C85FA7]
    // </editor-fold> 
    public static Connection connection () {
        // Wenn es bisher keine Conncetion zur DB gab, ...
        if (con == null) {
            try {
                    // Ersteinmal muß der passende DB-Treiber geladen werden
                    Class.forName("com.mysql.jdbc.Driver").newInstance();
                    /*
                     * Dann erst kann uns der DriverManager eine Verbindung mit den oben
                     * in der Variable url angegebenen Verbindungsinformationen aufbauen.
                     *
                     * Diese Verbindung wird dann in der statischen Variable con
                     * abgespeichert und fortan verwendet.
                     */
                    con = DriverManager.getConnection(url);
            }
            catch (SQLException e1) {
                    con = null;
                    e1.printStackTrace();
            }
            catch (InstantiationException e) {
                    con = null;
                    e.printStackTrace();
            }
            catch (IllegalAccessException e) {
                    con = null;
                    e.printStackTrace();
            }
            catch (ClassNotFoundException e) {
                    con = null;
                    e.printStackTrace();
            }
        }
        // Zurückgegeben der Verbindung
        return con;
    }
}